<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>严格模式</title>
</head>
<body>
    <script>
        // 一、严格模式的声明 
        //1. 全局
        // 'use strict';

        //2. 函数内部
        // function fn(){
        //     'use strict';
        // }


        // 二、严格模式的特性   
        'use strict';

        //1) 不允许使用未声明的变量 
        // a = 100;
        // console.log(a);
        //2) 函数内部的 this 不指向 window
        // function fn(){
        //     console.log(this);
        // }
        // fn();
        //3) eval 作用域   eval 本身是一个函数, 
        // eval('alert("精神一下~~~")');
        // eval('var b = 200; console.log(b)');
        // console.log(b);

        //4) 严格模式下 函数不允许有同名的形参
        // function fn(a, a){
        //     return a;
        // }
        // console.log(fn(100));

        //5) 新增一些保留字 
        var public = '公开的~~';
        console.log(public);


    </script>
</body>
</html>